/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  7
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version         2.0;
    format          ascii;
    class           dictionary;
    object          foamyHexMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

#includeEtc "caseDicts/mesh/generation/foamyHexMeshDict"

geometry
{
    #include "meshDict.geometry"
}

initialPoints
{
    // initialPointsMethod         pointFile;
    initialPointsMethod         autoDensity;

    autoDensityCoeffs
    {
        minLevels               2;
        maxSizeRatio            2.0;
        sampleResolution        5;
        surfaceSampleResolution 5;
    }

    pointFileCoeffs
    {
        insideOutsideCheck off;
        randomiseInitialGrid off;
        randomPerturbationCoeff 1e-3;
        pointFile "0/internalDelaunayVertices";
    }
}

surfaceConformation
{
    locationInMesh                      (0 0.1 1.0);

    #include "meshDict.conformationSurfaces"

    featurePointExclusionDistanceCoeff  0.65;
    featureEdgeExclusionDistanceCoeff   0.5;
    maxSurfaceProtrusionCoeff           0.1;

    conformationControls
    {
        edgeSearchDistCoeff             5;
        surfacePtReplaceDistCoeff       0.5;
        surfacePtExclusionDistanceCoeff 0.5;
        maxIterations                   15;
        iterationToInitialHitRatioLimit 0.0001;
    }
}

motionControl
{
    defaultCellSize             6e-3;

    minimumCellSizeCoeff        0.1;

    maxRefinementIterations     1;

    maxSmoothingIterations      100;

    shapeControlFunctions
    {
        #include "meshDict.cellShapeControl"
    }

    objOutput                   no;

    timeChecks                  no;
}

backgroundMeshDecomposition
{
    minLevels           1;
    sampleResolution    4;
    spanScale           20;
    maxCellWeightCoeff  20;
}

polyMeshFiltering
{
    writeBackgroundMeshDecomposition    true;
    writeCellShapeControlMesh           true;
    writeTetDualMesh                    false;
    filterEdges                         on;
    filterFaces                         off;
}

// ************************************************************************* //
